package com.tt.util;

import org.apache.tomcat.util.bcel.Const;

import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.DecimalFormat;

/**
 * <p>
 * >0.01的保留两位
 * <0, >0.01的保留4位小数
 *
 * </p>
 *
 * @version 1.0
 * @auther sugarttt
 * @since 2022-10-18 19:26:20
 */
public class HandleDecimal {
    public static Double handle(Double value) {
//        return String.format("%.2f", value);
        if (value - 0.01 > 1E-10){
//        if (value - ConstUtil.JUDGE_RESERVED_NUMBER > ConstUtil.MINIMUM_COMPARE_VALUE) {
            return new BigDecimal(value).setScale(2, RoundingMode.HALF_UP).doubleValue();
        } else {
            return new BigDecimal(value).setScale(4, RoundingMode.HALF_UP).doubleValue();
        }
    }

    public static Double handle(String value) {
//        return String.format("%.2f", value);
        if (Double.parseDouble(value) - 0.01 > 1E-10){
//        if (Double.parseDouble(value) - ConstUtil.JUDGE_RESERVED_NUMBER > ConstUtil.MINIMUM_COMPARE_VALUE) {
            return new BigDecimal(value).setScale(2, RoundingMode.HALF_UP).doubleValue();
        } else {
            return new BigDecimal(value).setScale(4, RoundingMode.HALF_UP).doubleValue();
        }
    }

    // 百分数返回2位。同时*100，前端只需要添加%
    public static Double handlePercentage(Double value){
        return new BigDecimal(value * 100).setScale(2, RoundingMode.HALF_UP).doubleValue();
    }


    public static Double handleIntensity(Double value) {
        return Double.parseDouble(new DecimalFormat(".000").format(value));
    }
}
